New Buttonで開くページを変更する
https://gyazo.com/8f7e7d384a5fa1f05312cb0f9a4d0b83
動機
takker.iconはページを新規作成するときに必ず日付タグをつける
日付タグ入りページを作るために、日時入りmemoのtemplateを使っている
これを、新規作成ボタンから実行できるようにすると便利なのでは?と思った
どうせ使わないボタン
別の機能として使って問題ない
実装
UserScriptをつかう
案1
hrefをけす
addEventListenerでclick eventを追加する
案2
titleの変更で発動
日付を計算して、URLに埋め込む
時刻は入れない
hoverしたときに再計算すれば時刻も入れられるかもtakker.icon
setInterval()で一秒ごとに書き換えればいいか
新規作成時に日付タグを挿入するUserScript
hrefにURLを代入する
案3
UserScriptをloadした時点の日付を取得
hrefに書き込む
案2の簡略版
書けそうなので書いてみる
code:script.js
import {toYYYYMMDD} from '/api/code/takker/Scrapbox_template_utilities/utilities.js';
for (const button of document.getElementsByClassName('new-button')) {
const timestamp = #${toYYYYMMDD(new Date())};
button.href = /${scrapbox.Project.name}/new?body=${encodeURIComponent('\n\n'+timestamp)};
}
console.log('The hrefs of "New Button" have been changed.')
いい感じ
/icons2/smartphone.iconからも使える
欠点
/icons/done.iconeventLIstenerでページを開くと、新しいタブになってしまう
hrefに書き込むと、タブを変えずに開いてくれる
確認済み
#2021-11-11 10:00:34 ファイル名を変更
#2021-09-29 07:25:40
#2021-06-27 23:39:37
#2021-02-04 05:53:47
#2020-10-22 04:32:57
#2020-10-20
#2020-10-11 23:16:53